home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesC-D.lzh / Crackdown.lha / CrackdownHD / Install < prev    next >
Text File  |  2002-05-04  |  8KB  |  278 lines

  1. ;****************************
  2.  
  3. (set #sub-dir "")            ;sub directory containing data files
  4. (set #readme-file "ReadMe")        ;name of readme file
  5. (set #man-file "Instructions")        ;name of manual file
  6. (set #hint-file "Hints")        ;name of hint file
  7. (set #sol-file "Solution")        ;name of solution file
  8. (set #highs-file "highs")        ;name of high scores file
  9. (set #last-file "Disk.1")        ;last file the imager should create
  10. (set #prefix @app-name)            ;name of slave, directory
  11.  
  12. ;****************************
  13. ;----------------------------
  14. ; checks if given program is installed, if not abort install
  15. ; #program - to check
  16.  
  17. (procedure P_ChkRun
  18.   (if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
  19.     ("")
  20.     (abort
  21.       (cat
  22.     "You must install \"" #program "\" first!\n"
  23.     "It must be accessible via the path.\n"
  24.     "You can find it in the WHDLoad package."
  25.       )
  26.     )
  27.   )
  28. )
  29.  
  30. ;----------------------------
  31. ; copy file including icon if exist
  32. ; #copy-file - name of file to copy
  33.  
  34. (procedure P_CopyFile
  35.   (if (exists #copy-file) (
  36.     (copyfiles
  37.       (help @copyfiles-help)
  38.       (source #copy-file)
  39.       (dest #dest)
  40.     )
  41.     (if (exists ("%s.info" #copy-file)) (
  42.       (copyfiles
  43.         (help @copyfiles-help)
  44.         (source ("%s.info" #copy-file))
  45.         (dest #dest)
  46.       )
  47.       (tooltype
  48.         (dest (tackon #dest #copy-file))
  49.         (noposition)
  50.       )
  51.     ))
  52.   ))
  53. )
  54.  
  55. ;****************************
  56.  
  57. (if (< @installer-version (+ (* 44 65536) 10))
  58.   (
  59.     (message
  60.       (cat
  61.         "Warning: your installer is outdated.\n"
  62.         "Some features of this installation won't be available, "
  63.         "such as icon show and drawer opening. "
  64.         "You have version " (/ @installer-version 65536) "." 
  65.         (BITAND @installer-version 65535) ", recommended is version 44.10. "
  66.         "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  67.         "You may also use the InstallerNG by Jens Tröger."
  68.         "\n\n"
  69.         "The installers can be obtained from the net:\n"
  70.         "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  71.         "aminet:util/sys/InstallerNG.lha"
  72.       )
  73.     )
  74.     (set #newstuff 0)
  75.   )
  76.   (set #newstuff 1)
  77. )
  78.  
  79. (if (exists #readme-file)
  80.   (if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  81.     ("")
  82.     (run ("SYS:Utilities/More %s" #readme-file))
  83.   )
  84. )
  85.  
  86. (set #program "WHDLoad")
  87. (P_ChkRun)
  88.  
  89. (set #program "RawDIC")
  90. (P_ChkRun)
  91.  
  92. (if (= @user-level 2)
  93.   (
  94.     (set #CI_drive
  95.       (askchoice
  96.     (prompt "Select source drive for diskimages")
  97.     (default 0)
  98.     (choices "DF0:" "DF1:" "DF2:" "DF3:")
  99.     (help @askchoice-help)
  100.       )
  101.     )
  102.     (select #CI_drive
  103.       (set #CI_drive "DF0:")
  104.       (set #CI_drive "DF1:")
  105.       (set #CI_drive "DF2:")
  106.       (set #CI_drive "DF3:")
  107.     )
  108.     (set #ignore " IGNOREERRORS")
  109.   )
  110.   (set #CI_drive "DF0:")
  111.   (set #ignore "")
  112. )
  113.  
  114. (if (getenv "WHDLInstPath")
  115.   (set @default-dest (getenv "WHDLInstPath"))
  116. )
  117. (set #dest
  118.   (askdir
  119.     (prompt
  120.       (cat
  121.     "Where should \"" @app-name "\" be installed?\n"
  122.     "A drawer \"" #prefix "\" will be automatically created."
  123.       )
  124.     )
  125.     (help @askdir-help)
  126.     (default @default-dest)
  127.   )
  128. )
  129. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  130. (set #dest (tackon #dest #prefix))
  131. (if (exists #dest) (
  132.   (set #choice
  133.     (askbool
  134.       (prompt
  135.         (cat
  136.           "\nDirectory \"" #dest "\" already exists.\n"
  137.           "Should it be deleted?"
  138.         )
  139.       )
  140.       (default 1)
  141.       (choices "Delete" "Skip")
  142.       (help @askbool-help)
  143.     )
  144.   )
  145.   (if (= #choice 1)
  146.     (delete #dest
  147.       (help @delete-help)
  148.       (all)
  149.     )
  150.   )
  151. ))
  152. (makedir #dest
  153.   (help @makedir-help)
  154.   (infos)
  155. )
  156.  
  157. ;----------------------------
  158.  
  159. (copyfiles
  160.   (help @copyfiles-help)
  161.   (source ("%s.Slave" #prefix))
  162.   (dest #dest)
  163. )
  164. (copyfiles
  165.   (help @copyfiles-help)
  166.   (source ("%s.bin" #prefix))
  167.   (dest #dest)
  168. )
  169. (if (exists ("%s.glowexot"  #prefix)) ((set #icon 7)(set #icnt (+ 1 #icnt))(set #icon-gex "Exotic GlowIcon")) (set #icon-gex ""))
  170. (if (exists ("%s.newexot"   #prefix)) ((set #icon 6)(set #icnt (+ 1 #icnt))(set #icon-nex "Exotic NewIcon"))  (set #icon-nex ""))
  171. (if (exists ("%s.exoticon"  #prefix)) ((set #icon 5)(set #icnt (+ 1 #icnt))(set #icon-exo "Exoticon"))        (set #icon-exo ""))
  172. (if (exists ("%s.glowicon"  #prefix)) ((set #icon 4)(set #icnt (+ 1 #icnt))(set #icon-glo "Glow Icon"))       (set #icon-glo ""))
  173. (if (exists ("%s.coloricon" #prefix)) ((set #icon 3)(set #icnt (+ 1 #icnt))(set #icon-col "OS3.5 Icon"))      (set #icon-col ""))
  174. (if (exists ("%s.newicon"   #prefix)) ((set #icon 2)(set #icnt (+ 1 #icnt))(set #icon-new "NewIcon"))         (set #icon-new ""))
  175. (if (exists ("%s.romicon"   #prefix)) ((set #icon 1)(set #icnt (+ 1 #icnt))(set #icon-rom "RomIcon"))         (set #icon-rom ""))
  176. (if (exists ("%s.inf"       #prefix)) ((set #icon 0)(set #icnt (+ 1 #icnt))(set #icon-nor "Normal"))          (set #icon-nor ""))
  177. (procedure P_Icon
  178.   (copyfiles
  179.     (help @copyfiles-help)
  180.     (source ("%s.%s" #prefix #icon-suf))
  181.     (newname ("%s.info" #icon-name))
  182.     (dest #icon-dir)
  183.   )
  184.   (tooltype
  185.     (dest (tackon #icon-dir #icon-name))
  186.     (noposition)
  187.   )
  188. )
  189. (if (> #icnt 1) (
  190.   (if (= #newstuff 1) (
  191.     (set #icon-dir ("T:%s Icons" #prefix))
  192.     (makedir #icon-dir
  193.       (help @makedir-help)
  194.     )
  195.     (if #icon-nor ((set #icon-suf "inf")      (set #icon-name "Normal")          (P_Icon)))
  196.     (if #icon-rom ((set #icon-suf "romicon")  (set #icon-name "RomIcon")         (P_Icon)))
  197.     (if #icon-new ((set #icon-suf "newicon")  (set #icon-name "NewIcon")         (P_Icon)))
  198.     (if #icon-col ((set #icon-suf "coloricon")(set #icon-name "OS3.5 Icon")      (P_Icon)))
  199.     (if #icon-glo ((set #icon-suf "glowicon") (set #icon-name "Glow Icon")       (P_Icon)))
  200.     (if #icon-exo ((set #icon-suf "exoticon") (set #icon-name "Exoticon")        (P_Icon)))
  201.     (if #icon-nex ((set #icon-suf "newexot")  (set #icon-name "Exotic NewIcon")  (P_Icon)))
  202.     (if #icon-gex ((set #icon-suf "glowexot") (set #icon-name "Exotic GlowIcon") (P_Icon)))
  203.     (openwbobject #icon-dir)
  204.   ))
  205.   (set #icon
  206.     (askchoice
  207.       (prompt "\nWhich icon would you like to install?\n")
  208.       (choices #icon-nor #icon-rom #icon-new #icon-col #icon-glo #icon-exo #icon-nex #icon-gex)
  209.       (default #icon)
  210.       (help @askchoice-help)
  211.     )
  212.   )
  213.   (if (= #newstuff 1) (
  214.     (closewbobject #icon-dir)
  215.     (delete #icon-dir
  216.       (help @delete-help)
  217.       (all)
  218.     )
  219.   ))
  220. ))
  221. (select #icon
  222.   (set #icon "inf")
  223.   (set #icon "romicon")
  224.   (set #icon "newicon")
  225.   (set #icon "coloricon")
  226.   (set #icon "glowicon")
  227.   (set #icon "exoticon")
  228.   (set #icon "newexot")
  229.   (set #icon "glowexot")
  230. )
  231. (copyfiles
  232.   (help @copyfiles-help)
  233.   (source ("%s.%s" #prefix #icon))
  234.   (newname ("%s.info" #prefix))
  235.   (dest #dest)
  236. )
  237. (tooltype
  238.   (dest (tackon #dest #prefix))
  239.   (setdefaulttool "WHDLoad")
  240.   (setstack 10240)
  241.   (noposition)
  242. )
  243. (set #copy-file #readme-file)
  244. (P_CopyFile)
  245. (set #copy-file #man-file)
  246. (P_CopyFile)
  247. (set #copy-file #hint-file)
  248. (P_CopyFile)
  249. (set #copy-file #sol-file)
  250. (P_CopyFile)
  251. (set #dest-org #dest)
  252. (if (= #sub-dir "")
  253.   ("")
  254.   (
  255.     (set #dest (tackon #dest #sub-dir))
  256.     (makedir #dest
  257.       (help @makedir-help)
  258.     )
  259.   )
  260. )
  261. (set #copy-file #highs-file)
  262. (P_CopyFile)
  263. (copyfiles
  264.   (help @copyfiles-help)
  265.   (source ("%s.islave" #prefix))
  266.   (dest #dest)
  267. )
  268. (working "calling RawDIC...")
  269. (run ("CD \"%s\"\nRawDIC SLAVE=%s.islave SOURCE=%s%s\nDelete %s.islave" #dest #prefix #CI_drive #ignore #prefix))
  270. (if (exists (tackon #dest #last-file))
  271.   ("")
  272.   (abort "Diskimaging was not successful!\nRawDIC was unable to create all needed files!")
  273. )
  274. (if (= #newstuff 1)
  275.   (openwbobject #dest-org)
  276. )
  277. (exit)
  278.